import Vue from 'vue'
import Vuex from 'vuex'

// 全局引入Vuex
Vue.use(Vuex)

const store = new Vuex.Store({
    // 外链模块
    modules: {

    },
    // 储存对象
    state: {
        // 公共数据
        routerCache: {
            // 该参数是用于解决刷新页面时，router-link 会丢弃当前页面的 param 数据
            // 为保证数据安全，该参数仅用于解决 Vue 重新渲染页面时，被渲染页面的数据保存问题
            // 针对直接通过 url 访问导致数据缺失问题仍需另外处理
            loadStatus: false,  // 用户登陆读取数据库状态用
            data: {}
        },
    },
    // 更变对象状态（总操作）
    mutations: {
        // 公共数据
        setRouterCache(state, newCache) {
            state.routerCache = {
                loadStatus: false,  // 该项用途暂时留空，待未来拓展使用
                data: newCache
            }
        }
    },
    // 更变对象状态（ 异步操作器 ）
    actions: {

    },
    // 取值储存对象
    getters: {

    },
})

// 导出
export default store
